package com.platform.modules.prj.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import java.io.Serializable;
import java.util.Date;

/**
 * 中止施工
 *
 * @author biaohuaming
 * @date 2020-03-11
 */
@Data
@TableName("PRJ_PAUSE")
@ApiModel(value = "中止施工实体类", description = "中止施工基础信息")
public class PrjPauseEntity implements Serializable {
    private static final long serialVersionUID = 1L;


    @TableId
    @ApiModelProperty(value = "记录ID")
    private String id;

    @ApiModelProperty(value = "项目ID")
	@NotBlank(message = "项目ID不能为空")
    private String prjId;
    
    @ApiModelProperty(value = "项目名称")
	@NotBlank(message = "项目Name不能为空")
    private String prjName;
    
    @ApiModelProperty(value = "建设单位id")
    private String buildCorpId;
    
    @ApiModelProperty(value = "建设单位名称")
    private String buildCorpName;
    
    @ApiModelProperty(value = "中止施工日期")
    @JsonFormat(pattern = "yyyy-MM-dd", locale = "zh", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
	@NotNull(message = "中止施工日期不能为空")
    private Date pauseDate;
    
    @ApiModelProperty(value = "中止施工原因")
	@NotBlank(message = "中止施工原因不能为空")
    private String pauseReason;
    
    @ApiModelProperty(value = "停工部位ID")
    private String pauseAreaId;
    
    @ApiModelProperty(value = "停工部位名称")
	@NotBlank(message = "停工部位不能为空")
    private String pauseAreaName;
    
    @ApiModelProperty(value = "施工现状")
	@NotBlank(message = "施工现状不能为空")
    private String situation;
    
    @ApiModelProperty(value = "申请人ID")
    private String createUserId;
    
    @ApiModelProperty(value = "申请人姓名")
    private String createUserName;
    
    @ApiModelProperty(value = "申请时间")
    @JsonFormat(pattern = "yyyy-MM-dd", locale = "zh", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date createTime;
    
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    
    @ApiModelProperty(value = "监管机构ID(建设局)")
    private String superviseOrgId;
    
    @ApiModelProperty(value = "监管机构名称(建设局)")
    private String superviseOrgName;
    
    @ApiModelProperty(value = "监管机构审批人ID")
    private String superviseUserId;
    
    @ApiModelProperty(value = "监管机构审批人姓名")
    private String superviseUserName;
    
    @ApiModelProperty(value = "状态 0-未申请 1-已申请 2-已驳回 3-已同意")
    private Integer status;
    
    @ApiModelProperty(value = "驳回原因")
    private String rejectReason;
    
    @ApiModelProperty(value = "同意中止施工日期")
    @JsonFormat(pattern = "yyyy-MM-dd", locale = "zh", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date consentPauseDate;
    
    

    @ApiModelProperty("项目地址-省")
    @TableField(exist = false)
    private String provinceNum;
    @ApiModelProperty("项目地址-市")
    @TableField(exist = false)
    private String cityNum;
    @ApiModelProperty("项目地址-区")
    @TableField(exist = false)
    private String countyNum;
}
